package com.a2j.app.user.service;

import com.a2j.beans.base.BaseBean;
import com.a2j.beans.user.AppUser;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * Author: bzb
 * Data: 2021/10/20 22:09
 * Desc: 用户模块
 */
public interface AppUserService {

    // 测试查询所有用户
    BaseBean<List<AppUser>> allUser();

    /**
     * web端注册接口
     * @param record 参数对象
     */
    void register(AppUser record);

    /**
     * App端接口，4个入参3个必传
     * 1.username
     * 2.password
     * 3.phone
     * 4.idCard（非必传）
     * @param params 注册对象
     */
    void register(@Param("map") Map<String, String> params);



    /**
     * 移动端登录接口
     * @param username 用户名
     * @param password 密码
     * @return 用户信息
     */
    BaseBean<AppUser> login(String username, String password);

    /**
     * 用户详情
     * @param userId 用户id
     * @return 用户信息
     */
    BaseBean<AppUser> appUserDetail(Integer userId);

    /**
     * 修改密码
     * @param id 用户id
     * @param oldPwd 旧密码
     * @param newPwd 新密码
     */
    void changePassword(Integer id, String oldPwd, String newPwd);


    /**
     * 用户开关
     * @param id 用户id
     * @param enable 0：关闭  1：开启
     */
    void enable(Integer id, Integer enable);


    /**
     * 修改用户信息
     * @param record 参数对象
     */
    void updateUser(AppUser record);
}
